package icu.xuyijie.springbootlearning1.chapter4;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @author 徐一杰
 * @date 2025/03/03 08:58
 * @description 作为web配置类
 */
@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry
                // /** 代表处理此项目所有的请求
                .addMapping("/**")
                // * 代表任何前端页面都允许访问
                .allowedOriginPatterns("*")
                // * 代表 包括 GET、POST 等 在内的所有请求方式都允许
                .allowedMethods("*")
                // 设置2次预检请求的时间间隔 3 秒
                .maxAge(3)
                // 允许跨域时携带 cookie session 等认证信息
                .allowCredentials(true);
    }

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        // 增加静态资源处理器配置

        // 这一行意思：把电脑本机的 E:/uploadFiles/ 下的所有文件，配置成 http://127.0.0.1:8080/file/文件名 的访问方式
        registry.addResourceHandler("/file1/**").addResourceLocations("file:E:/uploadFiles/");
        registry.addResourceHandler("/file2/**").addResourceLocations("classpath:myFile/");
    }
}
